package com.haogu.service;

import com.haogu.entity.*;


import java.util.List;

public interface CustomersService {


    /**
     * 查询所有系统用户
     * @return
     */
    public List<User> selectListUser();

    /**
     * 插入用户
     * @param customer
     */
    public void insertcustomer(Customer customer);

    /**
     * 插入联系人
     */
    public void insertContacts(Contacts contacts);

    /**
     * 查询所有用户
     * @return
     */
    public List<CustomerList> selectCustomerList(Integer page,Integer size);

    /**
     * 查询用户总数
     * @return
     */
    public int rows();

    /**
     * 查询客户某一条信息
     * @param id
     * @return
     */
    public Customer selectCustomer(Integer id);

    /**
     * 修改查询负责人
     * @return
     */
    public List<User> selectByUser();

    /**
     * 修改
     * @param customer
     */
    public void change(Customer customer);

    /**
     * 客户根据条件模糊查询
     *
     * @param search
     * @return
     */
    public List<CustomerList> selectByCustomer(String search, String filterSearch); /**
     * 客户池根据条件模糊查询
     *
     * @param search
     * @return
     */
    public List<CustomerList> selectByCustomers(String search, String filterSearch);

    /**
     * 逻辑删除
     * @param id
     * @return
     */
    public int delCustomers(Integer id);

    /**
     * 填充删除时间及删除者的id
     *
     * @param id
     */
    public void deleteTime(Integer deleteId, Integer id);

    /**
     * 邮件发送
     * @param from 发送者
     * @param to 接收者
     * @param subject 邮件标题
     * @param content 邮件内容
     */
    public void sendSimpleMail(String from, String to, String subject, String content);

    /**
     * 今日新建查询
     * @return
     */
    public List<CustomerList> todayNewCreateSelect(String type);

    /**
     * 我的客户查询
     * @param cid
     * @return
     */
    public List<CustomerList> myCustomer(Integer cid);

    /**
     * 客户池查询
     * @return
     */
    public List<CustomerList> selectCustomers();

    /**
     * 将客户放入到客户池
     * @param id
     * @return
     */
    public int toReleaseCustomers(Integer id);

    /**
     * 查询客户池总数
     * @return
     */
    public int rows1();

    /**
     * 批量关注
     * @param id
     * @return
     */
    public int toBatchConcerned(Integer id);

    /**
     * 关注查询
     * @return
     */
    public List<CustomerList> selectBatchConcerned();

    /**
     * 改变关注图标
     * @param id
     * @return
     */
    public Customer cuss(Integer id);

    /**
     * 批量取消关注
     * @return
     */
    public List<CustomerList> toCancelConcerned(Integer id);

    /**
     * 定时将没有维护的客户放入到客户池
     * @return
     */
    public List<Customer> customerPool();

    /**
     * 查询发送短信相关信息
     * @param id
     * @return
     */
    public DuanXin selectChat(Integer id);
}
